package com.scgl.depot.mapper;

import com.scgl.depot.domain.Location;
import io.lettuce.core.dynamic.annotation.Param;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 库位管理Mapper接口
 *
 * @author mobai
 * @date 2024-10-25
 */
@Mapper
public interface LocationMapper
{
    /**
     * 查询库位管理
     *
     * @param id 库位管理主键
     * @return 库位管理
     */
    public Location selectLocationById(Long id);

    /**
     * 查询库位管理列表
     *
     * @param location 库位管理
     * @return 库位管理集合
     */
    public List<Location> selectLocationList(Location location);

    /**
     * 新增库位管理
     *
     * @param location 库位管理
     * @return 结果
     */
    public int insertLocation(Location location);

    /**
     * 修改库位管理
     *
     * @param location 库位管理
     * @return 结果
     */
    public int updateLocation(Location location);

    /**
     * 删除库位管理
     *
     * @param id 库位管理主键
     * @return 结果
     */
    public int deleteLocationById(Long id);

    /**
     * 批量删除库位管理
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteLocationByIds(Long[] ids);

    List<Location> listByWarehouseId(@Param("depotId") Long warehouseId);
}
